<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
  <bpmn2:collaboration id="Collaboration_0udzrse">
    <bpmn2:participant id="Participant_08lw97u" processRef="Process_1" />
  </bpmn2:collaboration>
  <bpmn2:process id="Process_1" isExecutable="false">
    <bpmn2:sequenceFlow id="Flow_1aibscm" sourceRef="StartEvent_1" targetRef="subProcess" />
    <bpmn2:startEvent id="StartEvent_1">
      <bpmn2:outgoing>Flow_1aibscm</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:subProcess id="subProcess">
      <bpmn2:incoming>Flow_1aibscm</bpmn2:incoming>
      <bpmn2:incoming>Flow_1a55tdq</bpmn2:incoming>
      <bpmn2:outgoing>Flow_04bizxb</bpmn2:outgoing>
      <bpmn2:startEvent id="Event_0pz1h35">
        <bpmn2:outgoing>Flow_1o395rb</bpmn2:outgoing>
      </bpmn2:startEvent>
      <bpmn2:sequenceFlow id="Flow_1o395rb" sourceRef="Event_0pz1h35" targetRef="apply" />
      <bpmn2:sequenceFlow id="Flow_1j1iibb" sourceRef="apply" targetRef="approve" />
      <bpmn2:sequenceFlow id="Flow_1iln6vm" sourceRef="apply" targetRef="cancel" />
      <bpmn2:userTask id="apply" name="Apply">
        <bpmn2:incoming>Flow_1o395rb</bpmn2:incoming>
        <bpmn2:outgoing>Flow_1j1iibb</bpmn2:outgoing>
        <bpmn2:outgoing>Flow_1iln6vm</bpmn2:outgoing>
      </bpmn2:userTask>
      <bpmn2:userTask id="approve" name="Approve">
        <bpmn2:extensionElements>
          <camunda:executionListener event="end">
            <camunda:script scriptFormat="JavaScript">data.Cancel=false;</camunda:script>
          </camunda:executionListener>
        </bpmn2:extensionElements>
        <bpmn2:incoming>Flow_1j1iibb</bpmn2:incoming>
        <bpmn2:outgoing>Flow_1mmmh4r</bpmn2:outgoing>
      </bpmn2:userTask>
      <bpmn2:userTask id="cancel" name="Cancel">
        <bpmn2:extensionElements>
          <camunda:formData>
            <camunda:formField id="Cancel" />
          </camunda:formData>
          <camunda:executionListener event="end">
            <camunda:script scriptFormat="JavaScript">data.Cancel=true;</camunda:script>
          </camunda:executionListener>
        </bpmn2:extensionElements>
        <bpmn2:incoming>Flow_1iln6vm</bpmn2:incoming>
        <bpmn2:outgoing>Flow_1xgiljw</bpmn2:outgoing>
      </bpmn2:userTask>
      <bpmn2:exclusiveGateway id="Gateway_0qdyfkt">
        <bpmn2:incoming>Flow_1xgiljw</bpmn2:incoming>
        <bpmn2:incoming>Flow_1mmmh4r</bpmn2:incoming>
        <bpmn2:outgoing>Flow_0rvypwx</bpmn2:outgoing>
      </bpmn2:exclusiveGateway>
      <bpmn2:sequenceFlow id="Flow_1xgiljw" sourceRef="cancel" targetRef="Gateway_0qdyfkt" />
      <bpmn2:sequenceFlow id="Flow_1mmmh4r" sourceRef="approve" targetRef="Gateway_0qdyfkt" />
      <bpmn2:endEvent id="subProcessEndEvent">
        <bpmn2:incoming>Flow_0rvypwx</bpmn2:incoming>
      </bpmn2:endEvent>
      <bpmn2:sequenceFlow id="Flow_0rvypwx" sourceRef="Gateway_0qdyfkt" targetRef="subProcessEndEvent" />
      <bpmn2:textAnnotation id="TextAnnotation_0nuafc4">
        <bpmn2:text>set Cancel=true</bpmn2:text>
      </bpmn2:textAnnotation>
      <bpmn2:association id="Association_1lkjpd1" sourceRef="cancel" targetRef="TextAnnotation_0nuafc4" />
    </bpmn2:subProcess>
    <bpmn2:sequenceFlow id="Flow_04bizxb" sourceRef="subProcess" targetRef="Gateway_2" />
    <bpmn2:sequenceFlow id="Flow_0lio4d5" sourceRef="Gateway_2" targetRef="continue" />
    <bpmn2:sequenceFlow id="Flow_1a55tdq" name="Re-Apply" sourceRef="Gateway_2" targetRef="subProcess">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="JavaScript">data.Cancel==true</bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:task id="continue" name="Continue Processing">
      <bpmn2:incoming>Flow_0lio4d5</bpmn2:incoming>
      <bpmn2:outgoing>Flow_1hc93so</bpmn2:outgoing>
    </bpmn2:task>
    <bpmn2:exclusiveGateway id="Gateway_2" default="Flow_0lio4d5">
      <bpmn2:incoming>Flow_04bizxb</bpmn2:incoming>
      <bpmn2:outgoing>Flow_0lio4d5</bpmn2:outgoing>
      <bpmn2:outgoing>Flow_1a55tdq</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:endEvent id="Event_end">
      <bpmn2:incoming>Flow_1hc93so</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:sequenceFlow id="Flow_1hc93so" sourceRef="continue" targetRef="Event_end" />
    <bpmn2:textAnnotation id="TextAnnotation_0l8x7gu">
      <bpmn2:text>Condition: Cancel==true</bpmn2:text>
    </bpmn2:textAnnotation>
    <bpmn2:association id="Association_1svjguu" sourceRef="Gateway_2" targetRef="TextAnnotation_0l8x7gu" />
  </bpmn2:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_0udzrse">
      <bpmndi:BPMNShape id="Participant_08lw97u_di" bpmnElement="Participant_08lw97u" isHorizontal="true">
        <dc:Bounds x="-40" y="100" width="1220" height="460" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Flow_1a55tdq_di" bpmnElement="Flow_1a55tdq">
        <di:waypoint x="800" y="315" />
        <di:waypoint x="800" y="400" />
        <di:waypoint x="700" y="400" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="737" y="383" width="46" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0lio4d5_di" bpmnElement="Flow_0lio4d5">
        <di:waypoint x="825" y="290" />
        <di:waypoint x="900" y="290" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_04bizxb_di" bpmnElement="Flow_04bizxb">
        <di:waypoint x="700" y="290" />
        <di:waypoint x="775" y="290" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1aibscm_di" bpmnElement="Flow_1aibscm">
        <di:waypoint x="48" y="220" />
        <di:waypoint x="90" y="220" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1hc93so_di" bpmnElement="Flow_1hc93so">
        <di:waypoint x="1000" y="290" />
        <di:waypoint x="1042" y="290" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="12" y="202" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1jnhbp5_di" bpmnElement="Event_end">
        <dc:Bounds x="1042" y="272" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0nlcgqh_di" bpmnElement="subProcess" isExpanded="true">
        <dc:Bounds x="90" y="170" width="610" height="310" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Flow_1iln6vm_di" bpmnElement="Flow_1iln6vm">
        <di:waypoint x="240" y="270" />
        <di:waypoint x="240" y="370" />
        <di:waypoint x="290" y="370" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1j1iibb_di" bpmnElement="Flow_1j1iibb">
        <di:waypoint x="290" y="230" />
        <di:waypoint x="330" y="230" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1o395rb_di" bpmnElement="Flow_1o395rb">
        <di:waypoint x="158" y="230" />
        <di:waypoint x="190" y="230" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1xgiljw_di" bpmnElement="Flow_1xgiljw">
        <di:waypoint x="390" y="370" />
        <di:waypoint x="500" y="370" />
        <di:waypoint x="500" y="335" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1mmmh4r_di" bpmnElement="Flow_1mmmh4r">
        <di:waypoint x="430" y="230" />
        <di:waypoint x="500" y="230" />
        <di:waypoint x="500" y="285" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0rvypwx_di" bpmnElement="Flow_0rvypwx">
        <di:waypoint x="525" y="310" />
        <di:waypoint x="572" y="310" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="Event_0pz1h35_di" bpmnElement="Event_0pz1h35">
        <dc:Bounds x="121.66666666666669" y="212" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0mcti7s_di" bpmnElement="apply">
        <dc:Bounds x="190" y="190" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0gg0p3e_di" bpmnElement="approve">
        <dc:Bounds x="330" y="190" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1frnc02_di" bpmnElement="cancel">
        <dc:Bounds x="290" y="330" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_0nuafc4_di" bpmnElement="TextAnnotation_0nuafc4">
        <dc:Bounds x="400" y="420" width="100" height="30" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_0qdyfkt_di" bpmnElement="Gateway_0qdyfkt" isMarkerVisible="true">
        <dc:Bounds x="475" y="285" width="50" height="50" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1wy2fst_di" bpmnElement="subProcessEndEvent">
        <dc:Bounds x="572" y="292" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Association_1lkjpd1_di" bpmnElement="Association_1lkjpd1">
        <di:waypoint x="390" y="400" />
        <di:waypoint x="425" y="420" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="Activity_1eitdyr_di" bpmnElement="continue">
        <dc:Bounds x="900" y="250" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_1gjgpcd_di" bpmnElement="Gateway_2" isMarkerVisible="true">
        <dc:Bounds x="775" y="265" width="50" height="50" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_0l8x7gu_di" bpmnElement="TextAnnotation_0l8x7gu">
        <dc:Bounds x="760" y="410" width="100" height="41" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Association_1svjguu_di" bpmnElement="Association_1svjguu">
        <di:waypoint x="802" y="313" />
        <di:waypoint x="809" y="410" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>
